Distributed processing systems that are made up of intelligent workstations adapted to access central databases at source locations are being adapted to a growing number of applications. In many of these applications, a given workstation may require access to a single data object from some source database more than once. This requires much duplication of effort by the systems managing the database and the network.
To reduce this duplication of effort, it is desirable to maintain replicas of frequently accessed data objects at the workstation using such data objects to enhance responsiveness at the workstation, to improve availability of the communication channels by preventing repeated requests for the same object and to reduce costs. However the use of storage systems at the workstation locations which maintain replicas of frequently accessed data aggravates the problem of data obsolescence. If data in the central database is changed, then replicas of that data stored at workstation locations become obsolete. Therefore a system to manage obsolete data at workstations is necessary.
In a distributed information service having a large number of workstations that retrieve replicas of data objects from source databases, there often exists a complex mapping from the source data objects to the replicas stored at individual workstations. When there is no simple relation between the data stored in replica locations and the data in the source databases, a problem of identifying the impact of a change in a source data object upon a set of replicas in the information service arises. Prior methods for calculating and storing data concerning the impact of a source data change for later access by individual replica locations involve the communication of any change in a source database to invalidate replicas at all replica locations in the system. Obviously, communicating source data updates to all replica locations in the system, whether or not they are likely to be affected by the source data change, results in a large amount of unnecessary communication between workstations in a system.